Go to QuArK Web Site
New Game Quickstart
Updated 10 Nov 2002
Upper levels:
QuArK Information Base
3. Advanced customization

 3.2. New Game Quickstart

 [ Prev - Up - Next ] 

Here is a quick overview of how to support a new game; if the game uses pretty much the same technology as one that QuArK already supports, this might be enough, otherwise you might actually have to learn something about how QuArK works.

But first, before actually doing anything, post to one of the QuArK Yahoo groups, or if you for some reason can't do that, e-mail Decker or tiglari to say what you want to do, in case somebody is already doing it.


 Index


 Delphi coding

tiglari - 10 Nov 2002   [ Top ] 

At the minimum, there will have to be a gamecode for the game, defined in the file prog/setup.qrk. Presently these are single-character alphanumerics assigned on the basis of what kind of engine is used:

  • 1-9: Quake 1/HL
  • A-Z: Quake 2
  • a-z: Quake 3 & other advanced
Engines that do use shaders and might acquire curves should go into the last range (Quake 3 & other advanced).

If the game has technology similar to one already supported by QuArK, then this may well be all that's necessary, and one of the current Delphi coders will be able to do it for you. Otherwise there may need to be coding for texture-display, model-viewing, terrain editing etc., and you might have to do some or even most of it yourself.


 Defaults.qrk

tiglari - 10 Nov 2002   [ Top ] 

Then the game will need a  :config  and  :form  section in the file Defaults.qrk, grouped with the  :config  and  :form  sections for the games already supported. People usually copy the ones for the game that is most similar to the new one, and then change whatever needs to be changed. You should pick a recognizable abbreviation and use it consistently, e.g. SoF2 for Soldier of Fortune 2.

Also, the game needs to be added to the " QuakeCtx:form -group  Game -sub-group  Items -variable" list (in Default.qrk).


 Game Data Addons

tiglari - 10 Nov 2002   [ Top ] 

Finally you need to make addons for the game data. There are two of these, DataXXX.qrk, where XXX is your game's abbreviated name, and UserData XXX.qrk. The easiest way to make these is by copying ones from a similar game, and then adding/changing things to suit (the game abbreviation for starters). The most critical things in DataXXX.qrk are the texture and entity toolboxes.

A workable texture toolbox for SoF2 is:

  Textures.qtx =
  {
    Toolbox = "Texture Browser..."
    Root = "SoF2 Textures.qtxfolder"
    SoF2 Textures.qtxfolder =
    {
      Textures and Shaders.osfolder =
      {
        path = "base"
      }
    }
  }
This will load up textures dynamically from the .PK3 folders. For better performance, you can use the 'make texture links' button in the texture toolbox and check 'static' to produce a list of the textures in the .PK3.

For entities, if the game has a .DEF or .FGD file, you can use the 'File -> Convert from' facility from the QuArK-Explorer main menu, to produce a basic entity toolbox entry which in the case of SoF2 might start look like this:

  SoF2Entities.qtx =
  {
    ToolBox = "New map items..."
    Root = "SoF2 Entities.qtxfolder"
    SoF2 Entities.qtxfolder =
    {
      ;desc = "Created from entities.def"
      func_* entities.qtxfolder =
      .
      .
    }
  }
Whatever you get should be substituted for the entity tollbox folder in the file you're copying from, and later edited by hand to add missing entities, improved help, etc.


 Distribution and Aftermath

tiglari - 10 Nov 2002   [ Top ] 

Once things get into a useable state, or possibly even before, somebody with SourceForge access will start committing your stuff to the repository, and it will begin to appear in snapshots.

By `aftermath' I mean that if you initiate QuArK support for a game, people will tend to expect you to fix bugs in the game data, etc., and there always are some, so this can drag on for a while. People will also expect you to be able to answer basic questions about the peculiarities of editing the game, so if you don't want to assume the mantle of a guru, it's better to keep quiet and just use Radiant...



GNU General Public License by The QuArK (Quake Army Knife) Community - http://www.planetquake.com/quark

 [ Prev - Top - Next ]